home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Shareware / openOffice.org 641 / Windows / f_0030 / GermanHolidays.xba < prev    next >
Extensible Markup Language  |  2001-11-16  |  7KB  |  146 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="GermanHolidays" script:language="StarBasic">Option Explicit
  4.  
  5. Sub Main()
  6.     Call CalAutopilotTable()
  7. End Sub
  8.  
  9. Function CalGetGermanLandAtMousePos(byval X as single, byval Y as single) as Integer
  10.     CalChoosenLand = 0
  11.     If (X>73)And(X<130)And(Y>121)And(Y<181) Then
  12.         CalChoosenLand = CalBLBayern
  13.  
  14.     ElseIf (X>41)And(X<89)And(Y>136)And(Y<183) Then 
  15.         CalChoosenLand = CalBLBadenWuert
  16.         
  17.     ElseIf (X>14)And(X<31)And(Y>133)And(Y<144) Then 
  18.         CalChoosenLand = CalBLSaarland
  19.         
  20.     ElseIf (X>13)And(X<42)And(Y>111)And(Y<146) Then 
  21.         CalChoosenLand = CalBLRheinlandPfalz
  22.         
  23.     ElseIf (X>10)And(X<58)And(Y>70)And(Y<112) Then 
  24.         CalChoosenLand = CalBLNordrheinWest
  25.  
  26.     ElseIf (X>44)And(X<75)And(Y>92)And(Y<136) Then 
  27.         CalChoosenLand = CalBLHessen
  28.  
  29.     ElseIf (X>75)And(X<110)And(Y>88)And(Y<120) Then 
  30.         CalChoosenLand = CalBLThueringen
  31.         
  32.     ElseIf (X>110)And(X<155)And(Y>87)And(Y<112) Then 
  33.         CalChoosenLand = CalBLSachsen
  34.         
  35.     ElseIf (X>52)And(X<90)And(Y>11)And(Y<42) Then 
  36.         CalChoosenLand = CalBLSchlHolstein
  37.  
  38.     ElseIf (X>79)And(X<90)And(Y>42)And(Y<48) Then 
  39.         CalChoosenLand = CalBLHamburg
  40.  
  41.     ElseIf (X>90)And(X<143)And(Y>23)And(Y<50) Then 
  42.         CalChoosenLand = CalBLMeckPomm
  43.  
  44.     ElseIf (X>54)And(X<60)And(Y>46)And(Y<52) Then 
  45.         CalChoosenLand = CalBLBremen
  46.  
  47.     ElseIf (X>53)And(X<67)And(Y>55)And(Y<62) Then 
  48.         CalChoosenLand = CalBLBremen
  49.  
  50.     ElseIf (X>25)And(X<87)And(Y>40)And(Y<69) Then 
  51.         CalChoosenLand = CalBLNiedersachsen
  52.  
  53.     ElseIf (X>55)And(X<87)And(Y>69)And(Y<85) Then 
  54.         CalChoosenLand = CalBLNiedersachsen
  55.  
  56.     ElseIf (X>87)And(X<107)And(Y>47)And(Y<85) Then 
  57.         CalChoosenLand = CalBLSachsenAnhalt
  58.  
  59.     ElseIf (X>122)And(X<135)And(Y>62)And(Y<72) Then 
  60.         CalChoosenLand = CalBLBerlin
  61.  
  62.     ElseIf (X>107)And(X<146)And(Y>47)And(Y<84) Then 
  63.         CalChoosenLand = CalBLBrandenburg
  64.     End If
  65. '    If (CalChoosenLand >= Lbound(BLNameList)) AND ((CalChoosenLand <= Ubound(BLNameList))) Then
  66. '        Land$ = BLNameList(CalChoosenLand)
  67. '    End If
  68.     CalGetGermanLandAtMousePos = CalChoosenLand
  69. End Function
  70.  
  71.  
  72.  
  73. Sub CalFindWholeYearHolidays_GERMANY(ByVal iSelYear as Integer, ByVal iCountry as Integer)
  74.     
  75.     '    Ermittelt die Feiertage eines gesamten Jahres (Parameter iSelYear),
  76.     '    bezogen auf ein bestimmtes Bundesland (Parameter iCountry). Kein 
  77.     '    bestimmtes Bundesland bedeutet, dass der Parameter gleich der 
  78.     '    Konstante calBLHamburg ist, da Hamburg nur Standardfeiertage kennt. 
  79.     '    Die Feiertage werden in das Array CalBankHolidayName$ geschrieben. 
  80.     '    Der Index dieses Arrays geht bis vierhundert. Der 1. Januar hat den 
  81.     '    Indexwert 1, der 2. Januar den Indexwert 2 usw. Das bedeutet, da├ƒ 
  82.     '    wenn am 2. Januar kein Feiertag existiert, liefert 
  83.     '    CalBankHolidayName$(DateSerial(0, 1, 2) eine leere Zeichenkette ("").
  84.  
  85.     Dim So as Integer
  86.     Dim OsternDate&, VierterAdvent&
  87.  
  88.     If (iCountry < 1) Or (iCountry > 16) Then 
  89.         iCountry = CalBLHamburg
  90.     End If
  91.     OsternDate& = CalEasterTable&(iSelYear)
  92.     So = 1
  93.  
  94.     CalInsertBankholiday(DateSerial(iSelYear, 1, 1), "Neujahr", cHolidayType_Full)
  95.     
  96.     If (iCountry = CalBLBayern) Or (iCountry = CalBLBadenWuert) Or (iCountry = CalBLSachsenAnhalt) Then
  97.         CalInsertBankholiday(DateSerial(iSelYear, 1, 6), "Hl. 3 K├╢nige", cHolidayType_Full)
  98.     End If
  99.     
  100.     CalInsertBankholiday(OsternDate&-2, "Karfreitag", cHolidayType_Full)
  101.     CalInsertBankholiday(OsternDate&, "Ostersonntag", cHolidayType_Full)
  102.     CalInsertBankholiday(OsternDate&+1, "Ostermontag", cHolidayType_Full)
  103.     CalInsertBankholiday(DateSerial(iSelYear, 5, 1), "Maifeiertag", cHolidayType_Full)
  104.     CalInsertBankholiday(OsternDate&+39, "Christi Himmelfahrt", cHolidayType_Full)
  105.     CalInsertBankholiday(OsternDate&+49, "Pfingstsonntag", cHolidayType_Full)
  106.     CalInsertBankholiday(OsternDate&+50, "Pfingstmontag", cHolidayType_Full)
  107.  
  108.     If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLHessen) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
  109.         CalInsertBankholiday(OsternDate&+60, "Fronleichnam", cHolidayType_Full)
  110.     End If
  111.  
  112.     If (iCountry = CalBLBayern) Or (iCountry = CalBLSaarland) Then
  113.         CalInsertBankholiday(DateSerial(iSelYear, 8, 15), "Mari├ñ Himmelfahrt", cHolidayType_Full)
  114.     End If
  115.  
  116.     CalInsertBankholiday(DateSerial(iSelYear, 10, 3), "Tag der dt. Einheit", cHolidayType_Full)
  117.  
  118.     If (iCountry=CalBLBrandenburg) Or (iCountry=CalBLMeckPomm) Or (iCountry=CalBLSachsenAnhalt) Or (iCountry=CalBLSachsen) Or (iCountry=CalBLThueringen) Then
  119.         CalInsertBankholiday(DateSerial(iSelYear, 10, 31), "Reformationstag", cHolidayType_Full)
  120.     End If
  121.  
  122.     If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
  123.         CalInsertBankholiday(DateSerial(iSelYear, 11, 1), "Allerheiligen", cHolidayType_Full)
  124.     End If
  125.  
  126.     vierterAdvent = DateSerial(iSelYear, 12, 24)
  127.     While WeekDay(vierterAdvent) <> So
  128.         vierterAdvent = vierterAdvent - 1
  129.     Wend
  130.  
  131.     If iCountry = CalBLSachsen Then
  132.         CalInsertBankholiday(vierterAdvent-32, "Bu├ƒ- und Bettag", cHolidayType_Full)
  133.     Else
  134.         CalInsertBankholiday(vierterAdvent-32, "Bu├ƒ- und Bettag", cHolidayType_Half)
  135.     End If        ' Dank an die EKD f├╝r die Berechnungsvorschrift des Bu├ƒ- und Bettags!
  136.     CalInsertBankholiday(vierterAdvent-21, "1. Advent", cHolidayType_Full)
  137.     CalInsertBankholiday(vierterAdvent-14, "2. Advent", cHolidayType_Full)
  138.     CalInsertBankholiday(vierterAdvent-7, "3. Advent", cHolidayType_Full)
  139.     CalInsertBankholiday(vierterAdvent, "4. Advent", cHolidayType_Full)
  140.  
  141.     CalInsertBankholiday(Dateserial(iSelYear, 12, 24), "Heiligabend", cHolidayType_Half)
  142.     CalInsertBankholiday(Dateserial(iSelYear, 12, 25), "1. Weihnachtstag", cHolidayType_Full)
  143.     CalInsertBankholiday(Dateserial(iSelYear, 12, 26), "2. Weihnachtstag", cHolidayType_Full)
  144.     CalInsertBankholiday(Dateserial(iSelYear, 12, 31), "Sylvester", cHolidayType_Half)
  145. End Sub
  146. </script:module>